package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.DeviceTypeDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[deviceTypeDTO]的操作Service
 * </p>
 *
 * @author hqully <br>
 * @version 1.0
 * @entity {@link DeviceTypeDTO}
 * @date 2022-10-13 19:11:01 <br>
 */

public interface DeviceTypeService {

    /**
     * <p>
     * 根据[deviceTypeDTO]的参数分页条件查询设备类型列表
     * </p>
     *
     * @param page          分页参数
     * @param deviceTypeDTO 查询对象条件参数
     * @return {@link PageInfo<DeviceTypeDTO>} 设备类型DTO分页列表
     * @date 2022-10-13 19:11:01 <br>
     * @author hqully <br>
     */
    PageInfo<DeviceTypeDTO> pageDeviceTypes(PageDTO page, DeviceTypeDTO deviceTypeDTO);


    /**
     * <p>
     * 根据[deviceTypeDTO]的参数条件查询设备类型
     * </p>
     *
     * @param deviceTypeDTO 查询对象
     * @return {@link List<DeviceTypeDTO>} 设备类型DTO列表
     * @date 2022-10-13 19:11:01 <br>
     * @author hqully <br>
     */
    List<DeviceTypeDTO> listDeviceTypes(DeviceTypeDTO deviceTypeDTO);


    /**
     * <p>
     * 添加设备类型
     * </p>
     *
     * @param deviceTypeDTO 设备类型DTO
     * @return {@link int}
     * @date 2022-10-13 19:11:01 <br>
     * @author hqully <br>
     */
    int addDeviceType(DeviceTypeDTO deviceTypeDTO);

    /**
     * <p>
     * 更新设备类型
     * </p>
     *
     * @param deviceTypeDTO 设备类型DTO
     * @return {@link int}
     * @date 2022-10-13 19:11:01 <br>
     * @author hqully <br>
     */
    int updateDeviceType(DeviceTypeDTO deviceTypeDTO);


    /**
     * <p>
     * 通过[id]删除设备类型
     * </p>
     *
     * @param id 设备类型id
     * @return {@link int}
     * @date 2022-10-13 19:11:01 <br>
     * @author hqully <br>
     */
    int deleteDeviceTypeById(Integer id);

}
